package br.com.rubrol.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@Entity
@Table(name = "TblProduto")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "codigo",
    "nome",
    "unidade",
    "linhaTecnica",
    "maquina",
    "qtdPorMaquina",
    "valorEixo",
    "valorRevestimento",
    "valorBaseTroca",
    "valor",
    "codigoMundial"
})
@XmlRootElement(name="produto")
public class Produto implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
    @XmlElement(required = true)
	private Long codigo;
	@Column(length = 50, nullable = false)
    @XmlElement(required = true)
	private String nome;
	@Column(length = 50, nullable = false)
    @XmlElement(required = true)
	private String unidade;
	@Column(length = 255, nullable = false)
    @XmlElement(required = true)
	private String linhaTecnica;
	@OneToOne(targetEntity = Maquina.class)
    @XmlElement(required = true)
	private Maquina maquina;
	@Column(nullable = false)
    @XmlElement(required = true)
	private Integer qtdPorMaquina;
	@Column(nullable = false)
    @XmlElement(required = true)
	private Double valorEixo;
	@Column(nullable = false)
    @XmlElement(required = true)
	private Double valorRevestimento;
	@Column(nullable = false)
    @XmlElement(required = true)
	private Double valorBaseTroca;
	@Column(nullable = false)
    @XmlElement(required = true)
	private Double valor;
	@Column(length = 255, nullable = false)
    @XmlElement(required = true)
	private String codigoMundial;

	public Produto() {
	}

	public Long getCodigo() {
		return codigo;
	}

	public void setCodigo(Long codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getUnidade() {
		return unidade;
	}

	public void setUnidade(String unidade) {
		this.unidade = unidade;
	}

	public String getLinhaTecnica() {
		return linhaTecnica;
	}

	public void setLinhaTecnica(String linhaTecnica) {
		this.linhaTecnica = linhaTecnica;
	}

	public Maquina getMaquina() {
		return maquina;
	}

	public void setMaquina(Maquina maquina) {
		this.maquina = maquina;
	}

	public Integer getQtdPorMaquina() {
		return qtdPorMaquina;
	}

	public void setQtdPorMaquina(Integer qtdPorMaquina) {
		this.qtdPorMaquina = qtdPorMaquina;
	}

	public Double getValorEixo() {
		return valorEixo;
	}

	public void setValorEixo(Double valorEixo) {
		this.valorEixo = valorEixo;
	}

	public Double getValorRevestimento() {
		return valorRevestimento;
	}

	public void setValorRevestimento(Double valorRevestimento) {
		this.valorRevestimento = valorRevestimento;
	}

	public Double getValorBaseTroca() {
		return valorBaseTroca;
	}

	public void setValorBaseTroca(Double valorBaseTroca) {
		this.valorBaseTroca = valorBaseTroca;
	}

	public Double getValor() {
		return valor;
	}

	public void setValor(Double valor) {
		this.valor = valor;
	}

	public String getCodigoMundial() {
		return codigoMundial;
	}

	public void setCodigoMundial(String codigoMundial) {
		this.codigoMundial = codigoMundial;
	}

}
